package com.masterrabbit.mcslf.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;

/**
 * 每日流水
 * @TableName daily_flow
 */
@TableName(value ="daily_flow")
@Data
public class DailyFlow implements Serializable {
    /**
     * 
     */
    @TableId(type = IdType.AUTO)
    private Integer flowId;

    /**
     * 流水日期
     */
    private Date recoedDate;

    /**
     * 洗车金额
     */
    private BigDecimal washPrice;

    /**
     * 修车钱
     */
    private BigDecimal repairsPrice;

    /**
     * 保养钱
     */
    private BigDecimal maintenancePrice;

    /**
     * 加油钱
     */
    private BigDecimal refuelingPrice;

    /**
     * 订单总数
     */
    private Integer dayOrderNum;

    /**
     * 洗车订单
     */
    private Integer washNum;

    /**
     * 保养订单
     */
    private Integer maNum;

    /**
     * 加油订单
     */
    private Integer refuNum;

    /**
     * 维修订单
     */
    private Integer repairsNum;

    /**
     * 今日总流水
     */
    private BigDecimal priceAmount;

    /**
     * 商家ID
     */
    private Integer merchantId;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        DailyFlow other = (DailyFlow) that;
        return (this.getFlowId() == null ? other.getFlowId() == null : this.getFlowId().equals(other.getFlowId()))
            && (this.getRecoedDate() == null ? other.getRecoedDate() == null : this.getRecoedDate().equals(other.getRecoedDate()))
            && (this.getWashPrice() == null ? other.getWashPrice() == null : this.getWashPrice().equals(other.getWashPrice()))
            && (this.getRepairsPrice() == null ? other.getRepairsPrice() == null : this.getRepairsPrice().equals(other.getRepairsPrice()))
            && (this.getMaintenancePrice() == null ? other.getMaintenancePrice() == null : this.getMaintenancePrice().equals(other.getMaintenancePrice()))
            && (this.getRefuelingPrice() == null ? other.getRefuelingPrice() == null : this.getRefuelingPrice().equals(other.getRefuelingPrice()))
            && (this.getDayOrderNum() == null ? other.getDayOrderNum() == null : this.getDayOrderNum().equals(other.getDayOrderNum()))
            && (this.getWashNum() == null ? other.getWashNum() == null : this.getWashNum().equals(other.getWashNum()))
            && (this.getMaNum() == null ? other.getMaNum() == null : this.getMaNum().equals(other.getMaNum()))
            && (this.getRefuNum() == null ? other.getRefuNum() == null : this.getRefuNum().equals(other.getRefuNum()))
            && (this.getRepairsNum() == null ? other.getRepairsNum() == null : this.getRepairsNum().equals(other.getRepairsNum()))
            && (this.getPriceAmount() == null ? other.getPriceAmount() == null : this.getPriceAmount().equals(other.getPriceAmount()))
            && (this.getMerchantId() == null ? other.getMerchantId() == null : this.getMerchantId().equals(other.getMerchantId()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getFlowId() == null) ? 0 : getFlowId().hashCode());
        result = prime * result + ((getRecoedDate() == null) ? 0 : getRecoedDate().hashCode());
        result = prime * result + ((getWashPrice() == null) ? 0 : getWashPrice().hashCode());
        result = prime * result + ((getRepairsPrice() == null) ? 0 : getRepairsPrice().hashCode());
        result = prime * result + ((getMaintenancePrice() == null) ? 0 : getMaintenancePrice().hashCode());
        result = prime * result + ((getRefuelingPrice() == null) ? 0 : getRefuelingPrice().hashCode());
        result = prime * result + ((getDayOrderNum() == null) ? 0 : getDayOrderNum().hashCode());
        result = prime * result + ((getWashNum() == null) ? 0 : getWashNum().hashCode());
        result = prime * result + ((getMaNum() == null) ? 0 : getMaNum().hashCode());
        result = prime * result + ((getRefuNum() == null) ? 0 : getRefuNum().hashCode());
        result = prime * result + ((getRepairsNum() == null) ? 0 : getRepairsNum().hashCode());
        result = prime * result + ((getPriceAmount() == null) ? 0 : getPriceAmount().hashCode());
        result = prime * result + ((getMerchantId() == null) ? 0 : getMerchantId().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", flowId=").append(flowId);
        sb.append(", recoedDate=").append(recoedDate);
        sb.append(", washPrice=").append(washPrice);
        sb.append(", repairsPrice=").append(repairsPrice);
        sb.append(", maintenancePrice=").append(maintenancePrice);
        sb.append(", refuelingPrice=").append(refuelingPrice);
        sb.append(", dayOrderNum=").append(dayOrderNum);
        sb.append(", washNum=").append(washNum);
        sb.append(", maNum=").append(maNum);
        sb.append(", refuNum=").append(refuNum);
        sb.append(", repairsNum=").append(repairsNum);
        sb.append(", priceAmount=").append(priceAmount);
        sb.append(", merchantId=").append(merchantId);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}